#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
主题:字典排序
问题: 你想创建一个字典，并且在迭代或序列化这个字典的时候能够控制元素的顺序
提示 : 
    1. 一个 OrderedDict 的大小是一个普通字典的两倍，因为它内部维护着另外一个链表
"""

from collections import OrderedDict
import json

def recipe1():
    '''迭代操作的时候它会保持元素被插入时的顺序'''
    d = OrderedDict()
    d['foo'] = 1
    d['bar'] = 4
    d['spam'] = 3
    d['grok'] = 2
    for key in d:
        print(f"{key, d[key] = }")
        
    # 转换成json数据
    print(f"{json.dumps(d) = }")

def main():
    print('recipe1'.center(20, '*'))
    recipe1()


if __name__ == '__main__':
    main()